/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package redinftel.sesiones;

import java.util.List;
import javax.ejb.Remote;
import redinftel.entidades.Usuario;

/**
 * Interfaz para el manejo de datos de la entidad Usuario.
 * @author Six Degrees Team
 */
@Remote
public interface UsuarioFacadeRemote {

    void create(Usuario usuario);

    void edit(Usuario usuario);

    void remove(Usuario usuario);

    Usuario find(Object id);

    List<Usuario> findAll();

    List<Usuario> findRange(int[] range);

    int count();

    public List<redinftel.entidades.Usuario> findUsuario(java.lang.String email, java.lang.String password);

    public java.math.BigDecimal findPK();

    public int activarUsuario(String codigo, String contrasena);
    
    public List<Usuario> findAmigosMinusLista(Usuario idUsuarioCreador,String cadena);

    public java.util.List<redinftel.entidades.Usuario> findByCode(java.lang.String codigo);

    public java.util.List<redinftel.entidades.Usuario> findByEmail(java.lang.String email);

    public int borrarUsuario(java.lang.String codigo, java.lang.String contrasena);

    public int desactivarUsuario(java.lang.String codigo, java.lang.String contrasena);

    public int reactivarUsuario(java.lang.String codigo, java.lang.String contrasena);

    public List<Usuario> findByNombreApellidos(String nombre);
}
